package com.hb.trade.server.project.calibration.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.hb.core.pojo.enums.DeployStatusEnum;
import com.hb.core.pojo.parent.PageResult;
import com.hb.core.pojo.project.calibration.dto.BidWinResultDTO;
import com.hb.core.pojo.project.calibration.dto.BidWinResultSupplyDTO;
import com.hb.core.pojo.project.calibration.dto.PortalBidWinDTO;
import com.hb.core.pojo.project.calibration.entity.BidWinResult;

import java.util.List;

/**
 * <p>
 * 中标结果公示/公告表 服务类
 * </p>
 *
 * @author zhongdl
 * @since 2021-12-18
 */
public interface BidWinResultService extends IService<BidWinResult> {
    /**
     *
     * @Description: 更新中标公示状态
     * @Author: zhongdl
     * @Date:2021/12/18 17:09
     * @param id: 中标公示id
     * @param deployStatusEnum: 中标公示状态
     * @return: {@link Boolean }
     **/
    boolean updateDeployStatusById(Long id, DeployStatusEnum deployStatusEnum);

    /**
     *
     * @Description: 分页查询中标结果公告的
     * @Author: zhongdl
     * @Date:2021/12/20 9:36
     * @param bidWinResultDTO:
     * @return: {@link PageResult< BidWinResultDTO> }
     **/
    PageResult<BidWinResultDTO> pageBidWinResult(BidWinResultDTO bidWinResultDTO);

    /**
     *
     * @Description: 判断中标结果公告是否已发布
     * @Author: zhongdl
     * @Date:2021/12/20 16:34
     * @param id:
     * @return: {@link Boolean }
     **/
    boolean releaseFlagById(Long id);
    /**
     *
     * @Description: 根据项目id查询 未新建中标结果公告的标段 并且已经评标结果状态的
     * @Author: zhongdl
     * @Date:2022/1/5 14:07
     * @param bidWinResult:
     * @return: {@link List< BidWinResultDTO> }
     **/
    PageResult<BidWinResultDTO> pageNotSelectBidSection(BidWinResultDTO bidWinResult);
    /**
     *
     * @Description: 根据标段id分页查询已经发布的中标结果公告列表
     * @Author: zhongdl
     * @Date:2022/1/5 16:30
     * @param bidWinResultDTO:
     * @return: {@link PageResult< BidWinResultDTO> }
     **/
    PageResult<BidWinResultDTO> pageBidWinResultBySectionId(BidWinResultDTO bidWinResultDTO);



    /**
     *
     * @Description: 判断标段中标结果公告是否已发布
     * @Author: zhongdl
     * @Date:2021/12/20 16:34
     * @param id:
     * @return: {@link Boolean }
     **/
    boolean releaseFlagBySectionId(Long sectionId);

    /**
     *门户网站查询对应的结果公示
     * @param portalBidWinDTO
     * @return
     * @Author: LJS
     * @Date:2022-2-18 11:34:39
     */
    PageResult<PortalBidWinDTO> pageBidWinPortal(PortalBidWinDTO portalBidWinDTO);
    /**
     *门户网站查询公告详情
     * @param portalBidWinDTO
     * @return
     * @Author: LJS
     * @Date:2022-2-18 11:34:39
     */
    PortalBidWinDTO detailBidWinPortal(PortalBidWinDTO portalBidWinDTO);
    /**
     *
     * @Description:查询所需要推送的中标结果公告
     * @Author: zhongdl
     * @Date:2022/2/24 14:26
     * @return: {@link List< BidWinResultSupplyDTO> }
     **/
    List<BidWinResultDTO> listPushBidWinResult();
}
